
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //请实现以下效果
        // function add (a, b, c) {
        //     return a + b + c
        // }
        // // console.log(add.length);

        // const res = add(1, 2, 3) //6

        // //要求声明一个curry函数，函数add经过curry函数的处理后，每次调用只能接收一个参数
        // const curry = () => { }

        const curry = fn => {
        const _c = (length, args) => {
          return length === 0 ? 
            fn(...args) :
            x => _c(length - 1, [...args,x])
        }
        return _c(fn.length,[]);
      }

      function add(a,b,c){
          return a + b + c ;
      }

    const  addCurry = curry(add);
    const res =addCurry(1)(2)(3); 
    console.log(res);; // 6


    </script>
</body>

</html>